package com.atguigu.guigu.common.result;

import lombok.Getter;

/*
响应状态码和描述的枚举类
 */
@Getter
public enum ResultCodeEnum {

    SUCCESS(0,"成功"),
    ERROR(-1,"未知异常"),
    //-1xx 服务器错误
    BAD_SQL_GRAMMAR_ERROR(-101, "sql语法错误"),
    SERVLET_ERROR(-102, "servlet请求异常"), //-2xx 参数校验
    UPLOAD_ERROR(-103, "文件上传错误"),
    OSS_DELETE_ERROR(-105, "文件删除错误"),
    EXPORT_DATA_ERROR(-104, "数据导出失败"),


    //-2xx 参数校验
    BORROW_AMOUNT_NULL_ERROR(-201, "借款额度不能为空"),
    MOBILE_NULL_ERROR(-202, "手机号码不能为空"),
    MOBILE_ERROR(-203, "手机号码不正确"),
    PASSWORD_NULL_ERROR(-204, "密码不能为空"),
    CODE_NULL_ERROR(-205, "验证码不能为空"),
    USER_TYPE_NULL_ERROR(-212, "用户身份不能为空"),
    CODE_ERROR(-206, "验证码错误"),
    MOBILE_EXIST_ERROR(-207, "手机号已被注册"),
    LOGIN_MOBILE_ERROR(-208, "用户不存在"),
    LOGIN_PASSWORD_ERROR(-209, "密码错误"),
    LOGIN_LOCKED_ERROR(-210, "用户被锁定"),
    LOGIN_AUTH_ERROR(-211, "未登录"),


    USER_BIND_IDCARD_EXIST_ERROR(-301, "身份证号码已绑定"),
    USER_NO_BIND_ERROR(-302, "用户未绑定"),
    USER_NO_AMOUNT_ERROR(-303, "用户信息未审核"),
    USER_AMOUNT_LESS_ERROR(-304, "您的借款额度不足"),
    USER_CHARGE_LESS_ERROR(-308, "充值额度必须大于0"),
    USER_INVEST_LESS_ERROR(-310, "投资额度必须大于0"),
    USER_CHARGE_ERROR(-309, "充值金额异常"),
    USER_WITHDRAW_ERROR(-311, "提现金额必须大于0"),
    LEND_INVEST_ERROR(-305, "当前状态无法投标"),
    LEND_FULL_SCALE_ERROR(-306, "已满标，无法投标"),
    NOT_SUFFICIENT_FUNDS_ERROR(-307, "余额不足，请充值"),

    PAY_UNIFIEDORDER_ERROR(-401, "统一下单错误"),

    ALIYUN_SMS_LIMIT_CONTROL_ERROR(-502, "短信发送过于频繁"),//业务限流
    ALIYUN_SMS_COUNTS_CONTROL_ERROR(-504, "短信发送异常"),//业务限流
    ALIYUN_SMS_ERROR(-503, "短信发送失败"),//其他失败

    CALLBACK_PARAM_ERROR(-601, "回调参数不正确"),
    FETCH_ACCESSTOKEN_ERROR(-602, "获取access_token失败"),
    FETCH_USERINFO_ERROR(-603, "获取用户信息失败"),
    ;

    private Integer code;
    private String message;
    private ResultCodeEnum(Integer code,String message){
        this.code = code;
        this.message = message;
    }
}
